import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

import '@/styles/index.scss' // 全局样式

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // 权限控制
import VueParticles from 'vue-particles' // 引入粒子特效
import { resetForm, parseStrEmpty } from '@/utils/broad'
// 字典数据组件
import DictData from '@/components/DictData'
// 标签组件
import DictTag from '@/components/DictTag'
// 分页组件
import Pagination from '@/components/Pagination'

// 全局组件
Vue.component('Pagination', Pagination)
Vue.component('DictTag', DictTag)

// 全局方法挂载
Vue.prototype.resetForm = resetForm
Vue.prototype.parseStrEmpty = parseStrEmpty

// element-ui
Vue.use(ElementUI)
// 粒子特效
Vue.use(VueParticles)
Vue.use(DictData)

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
